home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Nibble Volume 10, No. 01 (1989-01)(MicroSPARC)(Side A)[a].zip / Nibble Volume 10, No. 01 (1989-01)(MicroSPARC)(Side A)[a].po / TRUNC.S < prev    next >
Text File  |  1996-12-24  |  1KB  |  44 lines

  1. * TRUNC
  2. * by Lawrence Kubicz
  3. * Copyright(c) 1988
  4. * MicroSPARC, Inc.
  5. * Concord, MA 01742
  6. * Merlin Assembler
  7. *
  8.           ORG $9500
  9. AMPV      = $3F5
  10. CHKCOM    = $DEBE
  11. CHKSTR    = $DD6C
  12. CONINT    = $E6FB
  13. FRMEVL    = $DD7B
  14. LINNUM    = $50
  15. NEWLEN    = $9501
  16. PTRLO     = $1A
  17. RSHM      = $F28C
  18. *
  19. INIT      LDX #2         ;INITIALIZE COUNTER
  20. INIT1     LDA AMPJ,X     ;GET BYTE
  21.           STA AMPV,X     ;STORE IT
  22.           STA LINNUM-1,X ;STORE IN LINNUM TOO
  23.           DEX
  24.           BPL INIT1      ;REPEAT FOR THREE BYTES
  25.           JMP RSHM       ;RESET HIMEM
  26. AMPJ      JMP TRUNC      ;JUMP TO OUR CODE
  27. TRUNC     JSR FRMEVL     ;EVALUATE FIRST PARAMETER
  28.           JSR CHKSTR     ;STRING?
  29.           LDA $A0        ;GET 1ST BYTE OF POINTER
  30.           STA PTRLO      ;STORE IT
  31.           LDA $A1
  32.           STA PTRLO+1    ;STORE 2ND BYTE
  33.           JSR CHKCOM     ;CHECK FOR COMMA
  34.           JSR FRMEVL     ;GET 2D PARAMETER
  35.           JSR CONINT     ;CONVERT TO INT
  36.           STX NEWLEN     ;STORE INT. VALIUE
  37.           LDY #0         ;ZERO INDEX
  38.           LDA (PTRLO),Y  ;GET 1ST BYTE OF DESCRIPTOR
  39.           CMP NEWLEN
  40.           BLT OUT        ;NOTHING TO DO
  41.           LDA NEWLEN
  42.           STA (PTRLO),Y  ;REPLACE LENGTH
  43. OUT       RTS
  44.